Cppcon 2017: Nicolas Guillemot Design Patterns For Low-Level Real-Time Rendering